package com.game.scene
{

	public class StateObject extends SceneObject
	{
		/**
		 * 是否无敌
		 */
		public var isInvicible : Boolean = false;

		/**
		 * 是否BUFFER 引起的能否攻击
		 */
		public var fightable : Boolean = true;

		/**
		 * 能否移动
		 */
		public var movable : Boolean = true;

		/**
		 * 是否被传送
		 */
		public var isFly : Boolean;

		/**
		 * 是否在空中
		 * 比如掉落的时候这个值为true
		 */
		public var isAir : Boolean;

		/**
		 * 是否处于硬直
		 */
		public var isHardTime : Boolean = false;

		/**
		 * 是否死亡
		 */
		public var isDead : Boolean = false;

		/**
		 * 是否正在攻击
		 */
		public var isAttack : Boolean = false;

		/**
		 * 是否攀爬
		 */
		public var isClimb : Boolean = false;

		/**
		 * 是否方向翻转
		 */
		public var isReverse : Boolean = false;

		/**
		 * 多重力道
		 */
		public var isPowerKnock : Boolean = false;

		public function StateObject(id : int, zIndex : int)
		{
			super(id, zIndex);
		}

		public function get canUseProp() : Boolean
		{
			return !isDead && !isFly && !isAir;
		}

		public function get canUseSpell() : Boolean
		{
			return !isDead && !isFly;
		}

		public function get canWalk() : Boolean
		{
			return movable && !isHardTime && !isDead && !isAttack && !isAir && !isFly;
		}

		public function get canAttack() : Boolean
		{
			return fightable && !isHardTime && !isDead && !isAttack && !isAir && !isFly;
		}


	}
}